A social networking system typically provides mechanisms for members to communicate, directly or indirectly, with one another using end-user devices (e.g., smartphones, tablets, personal computers). End-user devices utilize these mechanisms by accessing the social network system via native applications or web browsers. Oftentimes, these mechanisms utilize location data provided by an information service to determine the location of the end-user device, which can then be used control certain features supported by the social networking system. For example, the location can be used by the social networking system for a “check in” feature that enables the end user associated with the end-user device to specify a current location.
Location data can be retrieved from numerous sources. For example, the location of an end-user device can be determined based on a city identified in the end user's profile, Global Positioning System (GPS) coordinates included in the location information, the Internet Protocol (IP) address of the end-user device, aggregated information about the location of the end user's friends (in the social networking sense), data from the end-user device if location services are enabled, etc. But these techniques typically require that the end user either enable sharing of the location data with the social networking system, or that the native application be actively executed by the operating system by the end-user device (also known as being “executed in the foreground”).
The figures depict various embodiments of this disclosure for purposes of illustration only. One skilled in the art will readily recognize from the following discussion that alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles of the embodiments described herein.